The internet of things (IoT) refers to a system or infrastructure made up of interconnected people, devices, structures, vehicles, and services, which can be referred to as “objects” or “things” in the context of the IoT. There is a plethora of objects that are and can be interconnected, and can include, for example, heart monitoring implants, biochip transponders on people or animals, automobiles with built-in sensors, DNA analysis devices, and surgical tools. The number of these objects in the IoT is rapidly growing and is expected to expand to over fifty billion by the year 2020. The size and growth of the IoT enables the creation of products, technologies and applications such as connected and smart cars, homes, factories, wearable devices, and infrastructure, grids, transportation, and cities, which can result in improved efficiency, accuracy and usability, and reduced costs.
There are many challenges, however, resulting from the size and rapid growth of the IoT, including problems relating to resource efficiency, data privacy and system security. For example, it is estimated that by the year 2025, objects in the IoT will generate over two zettabytes of data. The amount of growing data is driven by, among other things, the desire to share information and generate richer data. This results in challenges related to battery, bandwidth, bytes, and computation. Battery challenges include device and system power consumption; bandwidth challenges include issues related to the amount of data that is transmitted or routed; byte challenges include issues related to the amount of data required to be stored; and computation challenges includes issues related to the amount of processing that is thereby expended on, among other things, high-powered computation needed to drive security-related resources.
At the same time, the high-value of the interconnected objects and their data makes the IoT a desirable attack surface. Security vulnerabilities are especially critical when dealing with interconnected objects in sensitive locations that have access to potentially harmful actuation capabilities. Existing approaches to deal with privacy and security challenges, however, are insufficient. And, in many instances, manufacturers and service providers have little to no built-in protection. One such approach, for example, “security through obscurity,” attempts to rely on secrecy rather than proactively addressing these challenges. Moreover, in an effort to meet strict cost targets, developers and providers avoid or minimize proper authentication, encryption and message integrity checks due to the computational overhead (e.g., processors with higher memory and speed) required for cryptography.
Conventional connectivity architectures fail to adequately address the above challenges. Indeed, direct connectivity and hub connectivity topologies suffer from additional shortcomings relating to, for example, service management, rule creation, scalability, and incentivizing data sharing. Direct connectivity is an architecture in which applications engage directly with objects and their sensors. While such an approach is useful for connecting a few objects, it fails to efficiently and effectively scale to handle each additional applications' request. If an application samples an object at n Hz and m copies of that application are running, the objects are queried at m*n times per second. This results in consuming additional bandwidth and power, possibly saturating networks, to convey similar information. Because these objects are often low-cost and resource-limited, they are incapable of running appropriate credentialing, encryption and other security services. In hub connectivity, objects and applications communicate through a master node (e.g., hub) capable of translating and moderating the flow of information. Typically, these hubs have limited sampling intelligence to locally aggregate and pre-process sampled data, resulting in limited or subpar reduction of data collection and transmission. In other words, hub connectivity is designed to address small to medium networks, such as those in which application payloads are known and aggregation and pre-processing computation can be reduced.
In light of the above challenges, algorithms have been designed to optimize routing, minimize power, and increase the efficiency of computation for networks, such as networks of interconnected objects and sensors (e.g., IoT). These approaches and algorithms include those designed, for example, to centrically store data to minimize search energy and bandwidth expenditure; minimize sampling rates to reduce bandwidth and power expenditures; predict intermediate sensor data, and reduce number of sensors and sampling rate to minimize energy requirements; use filters to meet error targets to minimize bandwidth; reconstruct signals from sparse samples at end nodes; and deploy only critical sensors to reduce energy or bandwidth requirements. However, these approaches optimize single elements of a system while compromising other aspects—i.e., trading one challenge for another, such as trading bandwidth for computation.
Accordingly, there is a need for systems and methods for managing interconnected objects and applications in a manner that optimizes resource use, security, and privacy, while meeting data quality and timeliness targets. There is a need for such systems and methods to be scalable, and deployable in various networking architectures, including cloud computing and the IoT.